GtkWidget *titlebar_start_separator;
GtkWidget *titlebar_end_separator;
- GtkWidget *titlebar_icon;
-
GdkSurfaceState state;
};
return label_box;
}
-gboolean
-_gtk_header_bar_update_window_icon (GtkHeaderBar *bar,
- GtkWindow *window)
+static gboolean
+update_window_icon (GtkHeaderBar *bar,
+ GtkWindow *window,
+ GtkWidget *icon)
{
- GtkHeaderBarPrivate *priv = gtk_header_bar_get_instance_private (bar);
GdkPaintable *paintable;
gint scale;
- if (priv->titlebar_icon == NULL)
- return FALSE;
-
- scale = gtk_widget_get_scale_factor (priv->titlebar_icon);
+ scale = gtk_widget_get_scale_factor (icon);
paintable = gtk_window_get_icon_for_size (window, 20 * scale);
if (paintable)
{
- gtk_image_set_from_paintable (GTK_IMAGE (priv->titlebar_icon), paintable);
+ gtk_image_set_from_paintable (GTK_IMAGE (icon), paintable);
g_object_unref (paintable);
- gtk_widget_show (priv->titlebar_icon);
+ gtk_widget_show (icon);
return TRUE;
}
priv->titlebar_end_separator = NULL;
}
- priv->titlebar_icon = NULL;
-
if (!priv->show_title_buttons)
return;
{
button = gtk_image_new ();
gtk_widget_set_valign (button, GTK_ALIGN_CENTER);
- priv->titlebar_icon = button;
gtk_widget_add_css_class (button, "titlebutton");
gtk_widget_add_css_class (button, "icon");
- if (!_gtk_header_bar_update_window_icon (bar, window))
+ if (!update_window_icon (bar, window, button))
{
g_object_ref_sink (button);
g_object_unref (button);
- priv->titlebar_icon = NULL;
button = NULL;
}
}
gdk_toplevel_set_icon_list (GDK_TOPLEVEL (priv->surface), icon_list);
if (GTK_IS_HEADER_BAR (priv->title_box))
- _gtk_header_bar_update_window_icon (GTK_HEADER_BAR (priv->title_box), window);
+ _gtk_header_bar_update_window_buttons (GTK_HEADER_BAR (priv->title_box));
if (info->using_themed_icon)
g_list_free_full (icon_list, g_object_unref);